/*
UVG
Algoritmos y Estructuras de Datos - 2011
Hoja de trabajo 7 
Autor: Eduardo Castellanos
Descripci�n: WordSetFactory. Clase  utilizada para instanciar los diferentes tipos de sets. 
*/

import java.util.*;

class WordSetFactory {
	
	// Metodo que genera un objeto que implementa WordSet
	// parametro tipo: 1 = SimpleSet
	//                         2 = implementado con Red black tree
	//                         3 = implementado con Splay Tree
	//                         4 = implementado con Hash Table
	//                         5 = implementado con TreeMap (de Java Collection Framework)
	
	public static WordSet generateSet(int tipo)
	{
            SimpleSet primero = new SimpleSet();
            SplayTreeImp tercero = new SplayTreeImp();
            TreeMapClass quinto = new TreeMapClass ();
            HashTableClass cuarto = new HashTableClass();
            RedBlackTreeClass segundo = new RedBlackTreeClass();
            
	    if (tipo == 1)
		    return primero;
		else
            if (tipo == 4)
               return cuarto;
               else
            if (tipo == 3)
                     return tercero;
                else
            if (tipo == 5)
                     return quinto;
                else
            if (tipo == 2)
                return segundo;
                else
		    // aqui se regresara el set empleando sus implementaciones:
			// if tipo == 2 cree una instancia para un Wordset implementao con Red Black Tree
			// if tipo == 3 cree una instancia para un Wordset implementado con Splay Tree
			// if tipo == 4 cree una instancia para un Wordset implementado con Hash table
			// if tipo == 5 cree una instancia para un Wordset implementado con TreeMap
			
			return null; // modificarlo para que regrese la implementacion seleccionada
	}
	
	
}